package com.gaojinqi.base.common.constant;


import com.gaojinqi.base.common.enums.IEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 响应常量
 *
 * @author gaojinqi
 * @version 1.0
 * @since 2020年03月19日
 */
public class RespConst {

    /**
     * 响应枚举类 <BR>
     */
    @Getter
    @AllArgsConstructor
    public enum RespEnum implements IEnum<Integer> {
        /**
         * 正常请求
         */
        SUCCESS(0, "执行成功"),
        /**
         * 用户相关错误：-1000~-1999
         */
        UNAUTHORIZED(-1000, "请重新登录"),
        NO_PERMISSIONS(-1001, "无权限"),
        EXPIRED(-1002, "会话过期"),
        /**
         * 系统错误：-2000~-2999
         */
        UNKNOW(-2000, "未预期错误"),
        OVERFLOW(-2001, "溢出"),
        OVERTIME(-2002, "连接超时"),
        CONFIG_REPEAT(-2003, "已经存在该编码的系统参数"),
        SYS_CONFIG_NO_AOLLOW_DEL(-2004, "不能删除系统常量"),
        /**
         * 参数错误：-3000~-3999
         */
        NULL(-3000, "为空"),
        WRONG(-3001, "不匹配"),
        NOT_UNIQUE(-3002, "不唯一"),
        ILLEGAL(-3003, "不合法"),
        PARENT_ID_REQUIRED(-3004, "请选择上级ID"),
        PARENT_INEXISTENCE(-3005, "上级不存在"),
        BAD_REQUEST(-3006, "错误请求"),
        NOT_FOUND(-3007, "找不到资源"),
        /**
         * 业务异常：-4000~-4999
         */
        BIZ(-4000, "系统繁忙，请稍后重试");
        /**
         * 返回码
         */
        private final Integer code;

        /**
         * 返回信息
         */
        private final String message;

        @Override
        public String getName() {
            return message;
        }

    }

}
